package com.zw.utils;

/**
 * 返回码Util类
 * @author huicairong
 */
public enum Retcode {
    /**
     * 校验参数失败
     */
    PARAM_ERROR("param.error","请求参数%s"),
    /**
     * 请求成功
     */
    SUCCESS("success","请求成功"),

    /**
     * 系统异常，请稍后再试
     */
    SYSTEM_EXCEPTION("system.exception","系统异常，请稍后再试"),

    /**
     * 登录失败，加密Key过期
     */
    LOGIN_KEY_TIMEOUT("login.key.timeout","登录失败，加密Key过期"),
    /**
     * 首次登录
     */
    LOGIN_FIRST("login.first","首次登录，请激活账号"),
    /**
     * 登录解密密码错误
     */
    LOGIN_DECRYPT_ERROR("login.decrypt.error","解密密码错误"),
    /**
     * 登录失败：用户名或密码输入错误
     */
    LOGIN_FAIL("login.fail","登录失败，用户名或密码输入错误"),
    /**
     * 登录失败：用户名或密码输入错误
     */
    RESET_PASSWORD_FAIL("rest_password.fail","两次输入不一致，重置密码失败"),
    /**
     * 登录失败，账户被冻结
     */
    LOGIN_FAIL_FROZEN("login.fail.frozen","登录失败，账户被冻结，请联系管理员重置密码"),
    /**
     * 登录失败：用户名或密码输入错误
     */
    LOGIN_FAIL_COUNT("login.fail","密码错误，再输错%s次，账户将被锁定"),
    /**
     * 登录失败：验证码输入错误
     */
    LOGIN_FAIL_CODE("login.fail","验证码输入错误"),
    /**
     * 未分配角色，请联系管理员分配角色
     */
    LOGIN_FAIL_NOT_ROLE("login.fail.not.role","未分配角色，请联系管理员分配角色"),
    /**
     * 重设或找回密码24小时内发送短信验证码不能超过%s次
     */
    RESET_PASSWORD_SMS_FAIL("reset.password.sms.fail","24小时内发送短信验证码不能超过%s次"),
    /**
     * 新密码和确认密码不相同
     */
    PASSWORD_NO_EQUAL("password.no.equal","新密码和确认密码不相同"),
    /**
     * 新密码必须包含数字和字母，长度8-16位
     */
    PASSWORD_FORMAT_ERROR("password.format.error","新密码必须包含数字和字母，长度8-16位"),

    /**
     * 用户不存在
     */
    USER_NON_EXISTENT("user.non_existent","用户不存在"),
    /**
     * 账户被冻结
     */
    USER_FROZEN("user.non_frozen","账户被冻结，请联系管理员重置密码"),
    /**
     * 上传文件格式错误
     */
    UPLOAD_FILE_ERROR("upload.file.error","文件格式错误，只支持%s"),
    /**
     * 部门已存在
     */
    DEPARTMENT_EXISTENCE("department.existence","部门已存在"),
    /**
     * 部门下存在人员不能删除
     */
    DEPARTMENT_EXIST_USER("department.exist.user","请先删除部门人员"),
    /**
     * 部门下存在子部门不能删除
     */
    DEPARTMENT_EXIST_CHILD("department.exist.child","请先删除子部门"),
    /**
     * 添加/修改/删除部门失败
     */
    DEPARTMENT_SUBMIT_FAIL("department.submit.fail","操作失败"),
    /**
     * 用户已存在
     */
    USER_EXISTENCE("user.existence","该手机号码已存在"),

    /**
     * 法律文件不存在
     */
    LAW_FILE_NON_EXISTENT("law.file.non.existent","法律文件不存在"),
    /**
     * 证书图片不存在
     */
    CERT_NON_EXISTENT("cert.non.existent","证书图片不存在"),
    /**
     * 地理位置已存在
     */
    REGION_EXISTENCE("region.existence","地理位置已存在"),
    /**
     * 部门下存在人员不能删除
     */
    REGION_EXIST_CHILD("region.exist.child","请先删除该位置下的所有位置"),
    /**
     * %s不存在
     */
    NON_EXISTENT("non.existent","%s不存在"),
    /**
     * 您没有权限
     */
    NOT_ROLE("not.role","您没有权限"),

    /**
     * 短信验证码已过期
     */
    SMS_VERIFY_TIMEOUT("sms.verify.timeout","短信验证码已过期"),
    /**
     * 短信验证码已过期
     */
    SMS_VERIFY_PHONE_NULL("sms.verify.timeout","手机号为空"),
    /**
     * 短信验证码已过期
     */
    SMS_VERIFY_CODE_NULL("sms.verify.timeout","短信验证码为空"),
    /**
     * 短信验证码输入错误
     */
    SMS_VERIFY_ERROR("sms.verify.error","短信验证码输入错误"),

    /**
     * 发送短信一次
     */
    SMS_SEND_EXCEPTION("sms.send.exception","发送短信，系统异常，请稍后再试"),

    /**
     * 导入失败：%s有重复的
     */
    DATA_REPEAT("data.repeat","导入失败：%s有重复的"),
    /**
     * 开始时间不能早于结束时间
     */
    TIME_ERROR("time.error","开始时间不能早于结束时间"),
    /**
     * 用户已存在
     */
    USER_EXIST("user.exist","该姓名用户已存在%s"),
    ;

    /**
     * 返回码
     */
    private String retcode;
    /**
     * 返回信息
     */
    private String retmsg;

    Retcode(String retcode, String retmsg){
        this.retcode = retcode;
        this.retmsg = retmsg;
    }

    public void setRetcode(String retcode){
        this.retcode = retcode;
    }

    public String code(){
        return this.retcode;
    }

    public void setRetmsg(String retmsg){
        this.retmsg = retmsg;
    }

    public String msg(){
        return this.retmsg;
    }
}
